草庐IT

security - Websockets、socket.io、nodejs 和安全性

全部标签

javascript - 在 Javascript 中使用 addEventHandler 的安全、通用的方法?

在我进入这个问题的细节之前,我想把情况弄清楚。我们的网络分析公司作为大型网站的顾问,并且(除了添加单个SCRIPT标记外)我们无法控制页面本身。我们现有的脚本使用“旧”方式(element.onclick=blah的奇特版本;它也执行原始处理程序)安装处理程序,这完全不知道页面上的"new"(addEventListener或attachEvent)处理程序。我们想解决此问题,使我们的脚本能够在更多站点上运行,而无需进行太多自定义开发。这里最初的想法是让我们自己的脚本使用addEventListener/attachEvent,但这带来了一个问题:客户端的站点使用“旧”方式设置处理程序

javascript - 使用 AJAX 或 WebSockets 访问部分响应?

我正在使用一些客户端JavaScript代码通过HTTPGET从网络服务器中提取大量JSON数据。数据量可能很大,例如50MB。这是在LAN上,所以问题不大,但仍需要十秒左右。为了让我的界面更具响应性,我想分块处理响应,一旦数据可用就在UI中显示数据(比方说,每MB或每秒)。浏览器兼容性不是问题;只要它适用于最新的Chrome和Firefox,就没问题。但是,我无法修改服务器代码。是否可以使用XMLHttpRequest或WebSockets或其他一些我从未听说过的技术来做到这一点?XMLHttpRequest.responseText在状态为LOADING时未明确为空:Theresp

javascript - NodeJS - 如何通过请求下载文件?

我有一个ExternalServe(在本地主机上运行)当我使用浏览器请求时:localhost:2013/ExternalServer/getfilebyname?filename=getStatus.json然后浏览器将getStatus.json下载到下载文件夹。在我的NodeJS项目中,我想下载getStatus.json文件,我做了:下载.jsvarhttp=require('http');varfs=require('fs');functiongetFile(){varfile=fs.createWriteStream("./../lib/user.json");varreq

javascript - 了解如何使用 NodeJS 创建一个简单的后端

我一直在尝试用nodejs开发一个相当简单的服务器。基本上,我想要的是一个需要身份验证的简单API(简单的用户名/密码样式)。我不需要需要的是任何类型的前端功能(模板等)。我的问题是,我似乎无法理解express/node的方法。具体来说,我的问题是:如何进行身份验证?我是将多个处理程序传递到每条需要身份验证的路由,还是有更优雅的方法来执行此操作?Express中间件(如app.use(express.bodyParser()))如何工作?它们是否改变了request或response对象的内容?具体来说,如果我使用主体解析器(内部功能强大?),我应该在哪里访问应该解析的请求数据?当使

javascript - 如何在整个 Web 应用程序堆栈中利用 Haskell 类型安全?

我想知道以CRUD为中心的Web应用程序可以从Haskell的类型系统中获益多少,尤其是当前端是使用JavascriptMVC框架(如AngularJS传递无类型数据对象)构建时。在我看来,一旦将Haskell数据类型转换为JSON对象,并将其传递给繁重的JavaScriptMVC框架层,将Haskell的类型系统作为Web堆栈的一部分的好处就会开始急剧下降,因为没有让类型检查器确保通过整个Web应用程序的数据流的类型完整性的方法。例如,您可以更改数据库模式和关联的Haskell类型,但类型检查器无法告诉您JavaScriptMVC前端的哪些部分也需要更新。我认为这是一个问题。我是否正

javascript - 如何让 websockets 通过 node.js 中的代理

概括这将是一个问题......如何让websockets通过node.js中的代理?在我的特殊情况下我将pusher.com与node.jsclientlibrary一起使用他们推荐。查看代码内部,我想知道一些关于我应该更改什么以使该库与代理一起工作的提示...您可以查看代码here也许我应该以某种方式替换或修改websocketsmodule图书馆正在使用它吗?编辑感谢您的回答/评论!需要考虑的几件事(如果我对某些/全部错误,请原谅,只是学习):我不想创建代理服务器。我只想使用公司内现有的代理服务器来代理我的websockets请求(尤其是pusher.com)只是想让你知道,如果我

javascript - nodejs - 这是哪个 "this"?

所以这是一个尴尬的问题,但我正在学习NodeJS,我有一个问题。在Java中,当我从对象调用方法时,this实例保持不变(如本例所示)。privateTestinst;publicTest(){inst=this;this.myFunction();}privatevoidmyFunction(){System.out.println(inst==this);}这会返回true(理论上,这是我头脑中的代码)。但是,在NodeJS中,当我尝试做类似的事情时失败了。varMyObject=function(){this.other=newOtherObject();this.other.o

javascript - let vs var 在 nodejs 和 chrome 中的性能

当我在chrome和nodejs中测试以下代码时,我得到以下信息:Chrome:forloopwithVAR:24.058msforloopwithLET:8.402msNodeJS:forloopwithVAR:4.329msforloopwithLET:8.727ms据我了解,由于block作用域,LET在chrome中更快。但是有人可以帮我理解为什么它在NodeJS中是相反的吗?还是我遗漏了什么?"usestrict";console.time("forloopwithVAR");for(vari=0;iPS:不确定这是否不是测试性能的理想方式。 最佳

javascript - 带有 if 条件和条件函数列表的 nodejs 和 async.waterfall。

我一直在使用async.waterfall和nodejs。它工作得很好,但现在我有一个关于流程的问题。我想在async.waterfall流程中使用一个简单的if条件。async.waterfall([callOne,callTwo,if(condition>0){callTest1,callTest2,}else{callTest3,callTest4,}callThree,callFour,callFive,],function(err,result){if(err){returnres.status(400).jsonp({error:err});}});我只想测试一个条件..如

javascript - 捕获内容安全策略 (CSP) 错误

我使用此方法通过eval检测CSP(也用于AngularJS):functionnoUnsafeEval(){try{newFunction('');returnfalse;}catch(err){returntrue;}}但我手头没有带有CSP的服务器来对其进行彻底测试。可靠吗?代码中存在newFunction('')行会导致无法捕获的错误吗?什么是err?那里捕获了哪种错误(Error、TypeError等)?CSP错误的消息是什么意思?我在CSP中找不到关于运行时错误的文档。 最佳答案 关于如何检测CSP,还有一个stacko